Documento de Referência da Arquitetura de Fórmulas e Dicionário Completo de Campos do ERP
O motor fiscal do ERP opera baseado em uma linguagem interpretada estruturada semelhante ao Pascal/Clipper. Ele permite a customização dinâmica de Bases de Cálculo, Alíquotas e Valores de tributos (ICMS, IPI, PIS, COFINS, ISS, etc.) e regras de negócio diversas, utilizando variáveis de cabeçalho e de itens.
| Comando | Sintaxe | Descrição e Aplicação |
|---|---|---|
SETVAR |
SETVAR(Nome, Tipo, Valor); |
Declara e atribui variáveis na memória local. Tipos válidos: • N: Numérico (moeda, percentuais, quantidades)• C: Caractere / Texto (UF, flags, CST)• D: Data• B: Booleano (Verdadeiro / Falso)
|
SE |
SE(Condicao, SeVerdadeiro, SeFalso) |
Operador condicional ternário utilizado para desvios de cálculo e validação de parâmetros. |
FORMULA |
FORMULA(Codigo) |
Executa modularmente o resultado de outra fórmula cadastrada no sistema. |
MENSAGEM |
MENSAGEM("Texto") |
Exibe uma caixa de diálogo em tela para conferência e depuração de variáveis. |
COPIAR / FCPY |
COPIAR(Texto, Inicio, Fim) |
Extrai caracteres de um texto (ex.: verificar primeiros dígitos de um CFOP ou CNPJ). |
FDESC |
FDESC(Valor, CasasDecimais) |
Retorna o valor numérico arredondado para o número de casas decimais informado. |
FLEN |
FLEN(Texto) |
Retorna a quantidade de caracteres contidos em uma string. |
SOMAITEM |
SOMAITEM(Expressao) |
Retorna a soma acumulada de uma expressão executada em todos os itens do movimento. |
FPAR |
FPAR(Parametro, Tipo) |
Retorna um parâmetro global definido no Módulo Configurador do sistema. |
| Operador | Função | Exemplo de Uso |
|---|---|---|
+ , - , * , / |
Operações aritméticas básicas | (ITQT * ITPU) - ITDC |
^ |
Exponenciação / Potência | VALOR ^ 2 |
( ) |
Controle de precedência matemática | ((BASE - IMP) / (1 - (ALIQ / 100))) |
; |
Finalizador de instrução (obrigatório) | SETVAR(X, N, 10); |
= , <> , # |
Igualdade e Diferença (<> e # são idênticos) |
SE(TABNAT(DIFAL,C) = "T", 1, 0) |
< , <= , > , >= |
Operadores relacionais de magnitude | SE(VALOR > 0, VALOR, 0) |
E , OU , NAO |
Operadores lógicos booleanos | SE(A = 0 E B > 0, ..., ...) |
IT...)| Variável / Função | Sintaxe | Descrição |
|---|---|---|
ITPU | ITPU | Preço unitário do item do movimento. |
ITQT | ITQT | Quantidade do item do movimento. |
ITDC | ITDC | Valor nominal do desconto concedido na linha do item. |
ITPD | ITPD | Percentual de desconto do item. |
ITAC | ITAC | Valor nominal do acréscimo da linha do item. |
ITPA | ITPA | Percentual de acréscimo do item. |
ITVT | ITVT | Valor total líquido da linha do item. |
ITPT | ITPT | Preço de tabela do item do movimento. |
ITP2 | ITP2 | Preço unitário 2 do item do movimento. |
ITML | ITML | Margem de lucro do item do movimento. |
ITSQ | ITSQ | Número sequencial do item dentro do movimento (1, 2, 3...). |
ITTA | ITTA(Tributo) | Retorna a alíquota do tributo no item (ex.: ITTA(PIS)). |
ITTB | ITTB(Tributo) | Retorna a base de cálculo apurada do tributo no item (ex.: ITTB(COFINS)). |
ITTV | ITTV(Tributo) | Retorna o valor financeiro apurado do tributo no item. |
ITTD | ITTD(Tributo) | Retorna o valor de dedução do tributo do item. |
ITSB | ITSB(Tributo) | Soma da base de cálculo do tributo de todos os itens do movimento. |
ITSV | ITSV(Tributo) | Soma do valor do tributo de todos os itens do movimento. |
ITSVCOND | ITSVCOND(Trib, Campo, Valor) | Soma o valor do tributo de todos os itens sob uma condição específica. |
| Variável | Descrição |
|---|---|
RATEIOFRETE | Valor do frete rateado proporcionalmente para a linha do item. |
RATEIODESP | Valor de outras despesas acessórias rateadas proporcionalmente para a linha do item. |
RATEIOSEGURO | Valor do seguro rateado proporcionalmente para a linha do item. |
RATEIODESC | Valor do desconto global do cabeçalho rateado para a linha do item. |
RATEIOEXTRA1..4 | Rateios de despesas e valores extras 1 a 4 do cabeçalho para o item. |
RATEIOVALORMOV | RATEIOVALORMOV(Campo) - Retorna o rateio de qualquer campo customizado do cabeçalho. |
MV...)| Variável | Descrição | Variável | Descrição |
|---|---|---|---|
MVTP | Valor Total dos Produtos | MVVB | Valor Bruto Global |
MVVL | Valor Líquido Global | MVVD | Valor Desconto Global |
MVVF | Valor Frete Global | MVVG | Valor Seguro Global |
MVVS | Valor Despesas Globais | MVVO | Valor Outros / Diversos |
MVDI | Valor Desconto dos Itens | MVDV | Valor Desconto de Venda |
MVBC(Trib) | Base de Cálculo do Movimento | MVVT(Trib) | Valor do Tributo no Movimento |
MVTA(Trib) | Alíquota do Movimento | MVTF | Tipo Frete (1=Emitente, 2=Dest.) |
MVNO | Natureza de Operação (Cód.) | MVSE / MVNR | Série / Número do Movimento |
MVFL | Cód. Filial do Movimento | MVFD / MVFE | Filial Destino / Filial Entrega |
MVCF | Cód. Cliente/Fornecedor | MVC2 | Cód. Responsável |
MVNM | Nome Cliente Consumidor | MVRP / MVVE | Cód. Representante / Vendedor |
MVPA / MVEP | Placa do Veículo / UF Placa | MVPB / MVPL | Peso Bruto / Peso Líquido |
MVQT / MVNT | Qtd. Volumes / Nº Volumes | MVES / MVMA | Espécie / Marca Volumes |
MVOA..MVOF | Observações Abert./Fech. | MVS1 / MVSP | Status Movimento / Pedido |
MVDE / MVDS | Data Emissão / Entrada-Saída | MVDM / MVDT | Data Movimento / Data Entrega |
TAB...)| Função | Sintaxe | Finalidade e Uso Fiscal |
|---|---|---|
TABNAT |
TABNAT(Campo) |
Lê campos gerais da Natureza de Operação vinculada. |
TABNATIT |
TABNATIT(Campo, Tipo) |
Lê parâmetros específicos da regra do item na Natureza. |
TABREGRAT |
TABREGRAT(Campo, Tipo) |
Retorna valores da regra de tributação vinculada ao item. |
TABREGRATTRIB |
TABREGRATTRIB(Campo, Tipo, Tributo) |
Retorna parâmetros tributários específicos da regra (CST, Alíquotas). |
TABETD |
TABETD(Campo, Tipo) |
Retorna campos da tabela do Estado (UF) vinculada ao cliente. |
TABETDUF |
TABETD(Campo, Tipo, UF) |
Busca parâmetros estaduais fornecendo a sigla da UF diretamente. |
TABPROD |
TABPROD(Campo, Tipo) |
Consulta dados vitais do produto (NCM, Origem da Mercadoria, Peso). |
TABPRODCOMPOS |
TABPRODCOMPOS(Campo) |
Retorna informações de custos e preços de itens compostos. |
TABCLIFOR |
TABCLIFOR(Campo, Tipo) |
Consulta informações complementares do cliente/fornecedor. |
CESTPORESTADO |
CESTPORESTADO(CEST, ESTADO) |
Busca tabela cruzada de CEST vs Estado de Destino. |
| Função | Sintaxe | Descrição |
|---|---|---|
HOJE / DATA | HOJE | Data atual do sistema operacional. |
ANO / MES / DIA | ANO(DATA), MES(DATA), DIA(DATA) | Extrai partes numéricas de uma data. |
ALIQ | ALIQ(Tributo) | Retorna a alíquota padrão cadastrada no módulo de tributos. |
CDSTRBMOV | CDSTRBMOV(Trib, Tipo, Campo) | Retorna propriedades tributárias de controle interno. |
FATCONV | FATCONV | Fator de conversão entre unidades de medida comercial/tributável. |
USUARIO | USUARIO | Identificação do usuário logado na sessão ativa. |
Para buscar os valores preenchidos visualmente pelo usuário na aba da Natureza de Operação (Identificação, Regra de Tributação, Abas de Tributos), utilize as funções de leitura TABNAT e TABNATIT, mapeando o nome interno do banco de dados.
| Aba / Campo da Interface Visual | Identificador Interno / Função de Leitura Recomendada |
|---|---|
| Flags da Aba Identificação (ex: Checkboxes genéricos) | TABNAT(NomeDoCampo, C) → Retorna "T" (marcado) ou "F" (desmarcado) |
| Alíquotas e Percentuais Normais da Regra do Item | TABNATIT(NomeDaAliquota, N) |
| Fatores de Redução de Base | TABNATIT(NomeDaReducao, N) |
| Margens e Pautas Arbitradas | TABNATIT(NomeDaMargemOuPauta, N) |
| Flags Específicas do Item (ex: Não considerar tributos próprios) | TABNATIT(NomeDaFlag, C) → Retorna "T" ou "F" |